package com.quyeying.service;

import com.quyeying.entity.TblMerchantEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.quyeying.utils.result.R;

import java.util.Map;

/**
* <p>
 * 商户表 服务类
 * </p>
*
* @author skx
* @since 2022-12-12
*/
public interface TblMerchantService extends IService<TblMerchantEntity> {

    /**
     * 查询商户表分页数据
     *
     * @param page      页码
     * @param pageCount 每页条数
     * @return R
     */
    R findListByPage(Integer page, Integer pageCount);

    /**
     * 添加商户表
     *
     * @param tblMerchantEntity 商户表
     * @return R
     */
    R add(TblMerchantEntity tblMerchantEntity);

    /**
     * 删除商户表
     *
     * @param id 主键
     * @return R
     */
    R delete(Long id);

    /**
     * 修改商户表
     *
     * @param tblMerchantEntity 商户表
     * @return R
     */
    R updateData(TblMerchantEntity tblMerchantEntity);

    /**
     * id查询数据
     *
     * @param id id
     * @return R
     */
    R findById(Long id);

    /**
     * 根据商户账号获取商户信息
     */
    TblMerchantEntity getMerchantInfo(String account);

    /**
     * 获取商家人气值
     */
    Long getPopularity(Long merchantId);

    /**
     * 获取首页列表对应商户信息方法
     */
    Map<String, Object> getMerchantMap(Long merchantId);

    /**
     * 商户更多（搜索）接口
     * @param current
     * @param size
     * @param search
     * @return
     */
    R findListPageSearch(Integer current, Integer size, String search);

    /**
     * 根据id得到商户信息（小程序使用不返回账号密码）
     * @param merchantId
     * @return
     */
    TblMerchantEntity getByMerchantId(Long merchantId);
}
